<ExtensionModel>

	<!-- Extension points -->

	<ExtensionPoint path = "/MonoDevelop/DesignerSupport/ToolboxProviders" name = "Toolbox item providers">
		<Description>Provides items to the toolbox. Must implement MonoDevelop.DesignerSupport.Toolbox.IToolboxDefaultProvider and/or IToolboxDynamicProvider</Description>
		<ExtensionNode name="Class" />
	</ExtensionPoint>

	<ExtensionPoint path = "/MonoDevelop/DesignerSupport/ToolboxLoaders" name = "Toolbox loaders">
		<Description>Used to load ItemToolboxNodes into the ToolboxMust implement
		MonoDevelop.DesignerSupport.Toolbox.IToolboxItemLoader</Description>
		<ExtensionNode name="Class" />
	</ExtensionPoint>

	<ExtensionPoint path = "/MonoDevelop/DesignerSupport/PropertyProviders" name = "Providers for the property grid">
		<ExtensionNode name="Class" />
	</ExtensionPoint>

	<ExtensionPoint path = "/MonoDevelop/DesignerSupport/ToolboxItemContextMenu" name = "Toolbox item context menu">
		<Description>Context menu for toolbox items.</Description>
		<ExtensionNodeSet id="MonoDevelop.Components.Commands.ItemSet" />
	</ExtensionPoint>

	<!-- Extensions -->

	<Extension path = "/MonoDevelop/DesignerSupport/PropertyProviders" extension-nodes="Class">
		<Class class = "MonoDevelop.DesignerSupport.Projects.ProjectItemPropertyProvider"/>
		<Class class = "MonoDevelop.DesignerSupport.Projects.SolutionItemPropertyProvider"/>
	</Extension>

	<Extension path = "/MonoDevelop/ProjectModel/SerializableClasses">
		<DataType class = "MonoDevelop.DesignerSupport.Toolbox.ToolboxItemToolboxNode" />
		<DataType class = "MonoDevelop.DesignerSupport.Toolbox.TextToolboxNode" />
		<DataType class = "MonoDevelop.DesignerSupport.Toolbox.TypeToolboxNode" />
		<DataType class = "MonoDevelop.DesignerSupport.Toolbox.ItemToolboxNode" name = "item" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Pads">
		<Pad id = "MonoDevelop.DesignerSupport.ToolboxPad"
			class = "MonoDevelop.DesignerSupport.ToolboxPad"
			_label="Toolbox"
			icon = "md-toolbox-pad"
			group = "Designer"
			defaultLayout="*"
			defaultPlacement="Right"
			defaultStatus="AutoHide"
			/>
		<Pad id = "MonoDevelop.DesignerSupport.PropertyPad"
			class = "MonoDevelop.DesignerSupport.PropertyPad"
			_label="Properties"
			icon = "md-properties-pad"
			group = "Designer"
			defaultLayout="*"
			defaultPlacement="MonoDevelop.DesignerSupport.ToolboxPad/bottom; right"
			defaultStatus="AutoHide"
			/>
		<Pad id = "MonoDevelop.DesignerSupport.DocumentOutlinePad"
			class = "MonoDevelop.DesignerSupport.DocumentOutlinePad"
			_label="Document Outline"
			icon="md-pad-document-outline"
			group = "Designer"
			defaultLayout="*"
			defaultPlacement="MonoDevelop.DesignerSupport.PropertyPad/center; bottom"
			defaultStatus="AutoHide"
			/>
	</Extension>

	<Extension path="/MonoDevelop/Ide/WorkbenchLayouts">
		<Layout id="VisualDesign" _name="Visual Design">
			<LayoutPad id="MonoDevelop.DesignerSupport.ToolboxPad" status="Dockable" />
			<LayoutPad id="MonoDevelop.DesignerSupport.PropertyPad" status="Dockable" />
			<LayoutPad id="MonoDevelop.DesignerSupport.DocumentOutlinePad" status="Dockable" />
		</Layout>
	</Extension>

	<Extension path="/MonoDevelop/Ide/WorkbenchLayouts/Solution">
		<LayoutPad id="MonoDevelop.DesignerSupport.ToolboxPad" placement="Right" status="AutoHide" />
		<LayoutPad id="MonoDevelop.DesignerSupport.PropertyPad" placement="Right" status="AutoHide" />
		<LayoutPad id="MonoDevelop.DesignerSupport.DocumentOutlinePad" placement="Right" status="AutoHide" />
	</Extension>

	<Extension path = "/MonoDevelop/Core/StockIcons">
		<StockIcon stockid = "md-compact-display" resource = "compact-display-16.png" />
		<StockIcon stockid = "md-properties-pad" resource = "pad-properties-16.png" size="Menu" />
		<StockIcon stockid = "md-toolbox-pad" resource = "pad-toolbox-16.png" size="Menu" />
		<StockIcon stockid = "md-pad-document-outline" resource = "pad-document-outline-16.png" size="Menu" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
		<NodeBuilder class = "MonoDevelop.DesignerSupport.Projects.ComponentNodeBuilder"/>
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Pads/ClassPad">
		<NodeBuilder class = "MonoDevelop.DesignerSupport.Projects.ComponentNodeBuilder"/>
	</Extension>

	<Extension path = "/MonoDevelop/Ide/Commands">
		<Category _name = "Designer" id = "Designer">
		<Command id = "MonoDevelop.DesignerSupport.Commands.SelectItems"
				defaultHandler = "MonoDevelop.DesignerSupport.SelectItemsCommandHandler"
				_label = "Add Items..."
				_displayName = "Add Toolbox Items..." />
		<Command id = "MonoDevelop.DesignerSupport.Commands.SwitchBetweenRelatedFiles"
		         _label = "Switch between related files "
		         _description = "Switch between related files, such as CodeBehind, headers, etc."
		         defaultHandler="MonoDevelop.DesignerSupport.SwitchBetweenRelatedFilesCommand"
		         shortcut="Control|Alt|Up"
		         macShortcut="Control|Meta|Up" />
		</Category>
	</Extension>

	<Extension path="/MonoDevelop/Ide/ContextMenu/DocumentTab">
		<CommandItem id = "MonoDevelop.DesignerSupport.Commands.SwitchBetweenRelatedFiles" />
	</Extension>

	<Extension path = "/MonoDevelop/DesignerSupport/ToolboxItemContextMenu">
		<CommandItem id = "MonoDevelop.DesignerSupport.Commands.SelectItems" />
		<CommandItem id = "MonoDevelop.Ide.Commands.EditCommands.Delete" />
	</Extension>

	<Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
		<Class class = "MonoDevelop.DesignerSupport.Projects.PropertyPadTextEditorExtension" />
	</Extension>

	<Extension path = "/MonoDevelop/DesignerSupport/ToolboxProviders">
		<Class class="MonoDevelop.DesignerSupport.Toolbox.CodeTemplateToolboxProvider" />
	</Extension>

	<Extension path = "/MonoDevelop/Core/UserDataMigration">
		<!-- 2.4 -->
		<Migration sourceVersion="2.4" kind="LocalConfig" path="Toolbox.xml" />
		<!-- 2.6 -->
		<Migration sourceVersion="2.6" kind="LocalConfig" path="Toolbox.xml" />
	</Extension>
</ExtensionModel>
